package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 检验方案对象 biz_inspection_template
 * 
 * @author ruoyi
 * @date 2025-10-29
 */
public class BizInspectionTemplate extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 检验方案ID */
    private Long templateId;

    /** 检验方案编号 */
    @Excel(name = "检验方案编号")
    private String templateNo;

    /** 检验方案名称 */
    @Excel(name = "检验方案名称")
    private String templateName;

    /** 存货编码 */
    @Excel(name = "存货编码")
    private String inventoryCode;

    /** 存货名称 */
    @Excel(name = "存货名称")
    private String inventoryName;

    /** 供货商编码（可选，为空则适用于所有供应商） */
    private String supplierCode;

    /** 供货商名称 */
    private String supplierName;

    /** 检验类型：VISUAL-外观检验, DIMENSIONAL-尺寸检验, PERFORMANCE-性能检验, SAFETY-安全检验 */
    @Excel(name = "检验类型：VISUAL-外观检验, DIMENSIONAL-尺寸检验, PERFORMANCE-性能检验, SAFETY-安全检验")
    private String inspectionType;

    /** 抽检比例(%) */
    @Excel(name = "抽检比例(%)")
    private BigDecimal sampleRate;

    /** AQL水平 */
    @Excel(name = "AQL水平")
    private String aqlLevel;

    /** 检验标准说明 */
    @Excel(name = "检验标准说明")
    private String inspectionStandard;

    /** 合格标准：ZERO_DEFECT-零缺陷, AQL_STANDARD-AQL标准 */
    @Excel(name = "合格标准：ZERO_DEFECT-零缺陷, AQL_STANDARD-AQL标准")
    private String qualifiedCriteria;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 创建人 */
    private String createdBy;

    /** 创建时间 */
    private Date createdTime;

    /** 更新人 */
    private String updatedBy;

    /** 更新时间 */
    private Date updatedTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    /** 检验项目明细信息 */
    private List<BizInspectionItem> bizInspectionItemList;

    public void setTemplateId(Long templateId) 
    {
        this.templateId = templateId;
    }

    public Long getTemplateId() 
    {
        return templateId;
    }

    public void setTemplateNo(String templateNo) 
    {
        this.templateNo = templateNo;
    }

    public String getTemplateNo() 
    {
        return templateNo;
    }

    public void setTemplateName(String templateName) 
    {
        this.templateName = templateName;
    }

    public String getTemplateName() 
    {
        return templateName;
    }

    public void setInventoryCode(String inventoryCode) 
    {
        this.inventoryCode = inventoryCode;
    }

    public String getInventoryCode() 
    {
        return inventoryCode;
    }

    public void setInventoryName(String inventoryName) 
    {
        this.inventoryName = inventoryName;
    }

    public String getInventoryName() 
    {
        return inventoryName;
    }

    public void setSupplierCode(String supplierCode) 
    {
        this.supplierCode = supplierCode;
    }

    public String getSupplierCode() 
    {
        return supplierCode;
    }

    public void setSupplierName(String supplierName) 
    {
        this.supplierName = supplierName;
    }

    public String getSupplierName() 
    {
        return supplierName;
    }

    public void setInspectionType(String inspectionType) 
    {
        this.inspectionType = inspectionType;
    }

    public String getInspectionType() 
    {
        return inspectionType;
    }

    public void setSampleRate(BigDecimal sampleRate) 
    {
        this.sampleRate = sampleRate;
    }

    public BigDecimal getSampleRate() 
    {
        return sampleRate;
    }

    public void setAqlLevel(String aqlLevel) 
    {
        this.aqlLevel = aqlLevel;
    }

    public String getAqlLevel() 
    {
        return aqlLevel;
    }

    public void setInspectionStandard(String inspectionStandard) 
    {
        this.inspectionStandard = inspectionStandard;
    }

    public String getInspectionStandard() 
    {
        return inspectionStandard;
    }

    public void setQualifiedCriteria(String qualifiedCriteria) 
    {
        this.qualifiedCriteria = qualifiedCriteria;
    }

    public String getQualifiedCriteria() 
    {
        return qualifiedCriteria;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }

    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }

    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }

    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    public List<BizInspectionItem> getBizInspectionItemList()
    {
        return bizInspectionItemList;
    }

    public void setBizInspectionItemList(List<BizInspectionItem> bizInspectionItemList)
    {
        this.bizInspectionItemList = bizInspectionItemList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("templateId", getTemplateId())
            .append("templateNo", getTemplateNo())
            .append("templateName", getTemplateName())
            .append("inventoryCode", getInventoryCode())
            .append("inventoryName", getInventoryName())
            .append("supplierCode", getSupplierCode())
            .append("supplierName", getSupplierName())
            .append("inspectionType", getInspectionType())
            .append("sampleRate", getSampleRate())
            .append("aqlLevel", getAqlLevel())
            .append("inspectionStandard", getInspectionStandard())
            .append("qualifiedCriteria", getQualifiedCriteria())
            .append("status", getStatus())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("bizInspectionItemList", getBizInspectionItemList())
            .toString();
    }
}
